package com.suep.data_analysis.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;

import java.util.Date;
import java.util.Map;

/**
 * 代理人属性信息实体类
 */
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
@TableName("t_agent_attribute")
@JsonIgnoreProperties(ignoreUnknown = true)
public class AgentAttribute extends Model<AgentAttribute> {
    @TableId("attr_id")
    private String attrId;            // 属性ID
    private String agentId;           // 关联的代理人ID
    private Float baseHp;             // 基础生命值
    private Float baseAttack;         // 基础攻击力
    private Float baseDefense;        // 基础防御力
    private Float impactPower;        // 冲击力
    private Float critRate;           // 暴击率
    private Float critDamage;         // 暴击伤害
    private Float penetrationRate;    // 穿透率
    private Float penetrationValue;   // 穿透值
    private Float anomalyMastery;     // 异常精通
    private Float anomalyResistance;  // 异常掌控
    private Integer energyCapacity;   // 能量上限
    private Float energyRegenRate;    // 能量自动回复
    private Map<String, Object> talentBonus; // 核心技属性加成（JSON格式）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;          // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;          // 更新时间
}